home *** CD-ROM | disk | FTP | other *** search
- #include "42.h"
- #include "42_plugin_manager.h"
- #include "42_plugin_clock.h"
-
- #include <time.h>
-
- /* plugin definition */
-
- forty_two_plugin_api plugin_clock =
- {
- clock_init, // init
- nil, // kill
- clock_idle, // idle1
- nil, // idle2
- nil, // click
- nil, // ipc
- nil, // update
- 23, // req_dialog_item
- (GWorldPtr) 0L // port
- };
-
- /* plugin functions */
- unsigned long clock_last_update = 0;
-
- int clock_init(void)
- {
- SetPort((GrafPtr)plugin_clock.port);
- EraseRect(&plugin_clock.port->portRect);
- return 0;
- } /* clock_init */
-
- int clock_idle(void)
- {
- unsigned char t[64];
- unsigned long tt;
-
- if(TickCount() > clock_last_update + 15)
- {
- SetPort((GrafPtr)plugin_clock.port);
- EraseRect(&plugin_clock.port->portRect);
- MoveTo(22,25);
- tt = time(NULL);
- strftime((char *)t+1,sizeof(t)-1,"%H:%M:%S",localtime(&tt));
- t[0] = strlen(t+1);
- TextFont(4);
- TextSize(9);
- DrawString(t);
- (*plugin_clock.update)(&plugin_clock);
- }
- return 0;
- } /* clock_idle */